package dao;

import java.io.InputStream;
import java.util.Properties;

public class DaoFactory {
	public static <T> // 声明类型
	T// 使用
	getInstance(Class<T> c) {// 使用，当传入参数时T的类型确定
		try {
			String s = c.getSimpleName();// 得到的不是全限定名，只有类名
			InputStream in = DaoFactory.class
					.getResourceAsStream("/dao.properties");
			Properties prop = new Properties();
			prop.load(in);
			in.close();
			String className = prop.getProperty(s);
			return (T) Class.forName(className).newInstance();
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
	public static void main(String[] args) {
		ComputerDAO dao=getInstance(ComputerDAO.class);
		System.out.println(dao);
	}
}
